<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
//商品控制器
class GoodsController extends CommonController{
	protected $model;
	
	//	自动验证是否登陆
	public function __init(){
		parent::init();
		$this->model=new \Common\Model\Goods;
	}
	
	
	//显示
	public function index(){
//		统计数量
	$total=$this->model->count();
	$page=Page::row(3)->make($total);
	
//		获得数据库数据
		$data=$this->model->limit(Page::limit())->orderBy('gid', 'asc')->get();
//		sp($data);die;
View::with('page',$page);
		View::with('data',$data);
		View::make();
	}
	
	
	//	添加
	public function add(){
		
		//	提交
		if(IS_POST){
//			sp($_POST);die;
//			
			if(!$gid=$this->model->store()){
				View::error($this->model->getError());
			}					
			//插入商品属性
			foreach(Q('post.attr',array()) as $taid=>$value){
				if($value){
					$data=array(
					    'gavalue' => $value,
						'typeattribute_taid' => $taid,
						'goods_gid' =>$gid 
						);
						//						添加
						$model = new \Common\Model\Goodsattribute;
						$model->add($data);
				}
			}
				//循环商品规格插入goods_attr
				foreach (Q('post.spec',array()) as $key => $value) {
					//				sp(Q('post.spec',array()));
					if($value){
						foreach($value['value'] as $vk=>$va){
							
							$data=array(
							'gavalue' => $value['value'][$vk],
							'addprice'=>$value['price'][$vk],
							'typeattribute_taid'=>$key,
							'goods_gid' =>$gid 
							);
							
							$model = new \Common\Model\Goodsattribute;
							$model->add($data);
						}
				
					//					sp($value);die;
					}
					
				}
			
//			商品详情表
			//			获得数据
//			sp($_POST['photo']);die;
			$photo=Q('post.photo',array());
			$photo=implode(',', $photo);
//			sp($photo);die;
//			重组数组
			$arr=array(
			'photo'=>$photo,
			'service'=>$_POST['service'],
			'intro'=>$_POST['intro'],
			'goods_gid' =>$gid );
			$model=new \Common\Model\Goodsdetail;
			$model->add($arr);


//			商品表
			
//			sp($gid);die;
			View::success('添加成功',U('index'));
		}
		//	获得所属分类
		$category=new \Common\Model\Category;
		//获得分类
		$catedata=$category->get();
		View::with('catedata',$catedata);
//		sp($catedata);die;
		//获得品牌c
		$brand=new \Common\Model\Brand;
		$branddata=$brand->get();
//		sp($branddata);die;
		View::with('branddata',$branddata);
//		获得图片	
		$goodsdetial=new \Common\Model\Goodsdetail;
		$gddata=$goodsdetial->get();
//		sp($gddata);die;
		
			View::make();
	}
	
	//	ajax
	public function ajaxGetAttr(){
		if(IS_AJAX){
			
			//			通过类型id获得类型数据
			$type_tid=Q('post.type_tid',0,'intval');
	//						sp($type_tid);die;
			//			实例化类型属性表，获得类型属性
			$type_attr=new \Common\Model\TypeAttribute;
			$data=$type_attr->where('type_tid',$type_tid)->get();
//			sp($data);die;
			//			如果有类型属性
	//			(array)$typedata意思是不论$typedata是何类型强制转化为数组
			foreach ((array)$data as $k =>$v){
				
	//				把类型属性值得字符串转化为数组
				$data[$k]['tavalue']=explode(',', $v['tavalue']);
			}
//				sp($data);die;
			echo json_encode($data);
			exit;
		}
	}
	
	
	
	
	
	
	
	
	//	删除
	public function del(){
		
		//	获得gid
		$gid=Q('get.gid',0,'intval');
//		echo $gid;exit;		
//		sp($gid);exit;
		if(!$this->model->del($gid)){
			View::error($this->model->getError());
		}
		View::success('删除成功',U('index'));
	}
		//	修改
	public function edit(){
		
		$gid=Q('get.gid',0,'intval');
		//		获得旧数据
		$goodsdata=$this->model->where('gid',$gid)->get();
		
//		sp($goodsdata);die;
		View::with('goodsdata',$goodsdata);
		//获得分类
		$category=new \Common\Model\Category;
		$catedata=$category->get();
//		sp($catedata);die;
		View::with('catedata',$catedata);
		//获得类型
		$type=new \Common\Model\Type;
		$typedata=$type->get();
		//		sp($typedata);die;/
		View::with('typedata',$typedata);
		//获得品牌
		$brand=new \Common\Model\Brand;
		$branddata=$brand->get();
		View::with('branddata',$branddata);
		//		获得商品详情
		$detial=new \Common\Model\Goodsdetail;
		$detialdata=$detial->where('goods_gid',$gid)->find();
		
		$detialdata['photo']=explode(',', $detialdata['photo']);
		
//				sp($detialdata);die;
		View::with('detialdata',$detialdata);
		//		获得商品属性
		$gatt=new \Common\Model\GoodsAttribute;
		$gattdata=$gatt->join('typeattribute','taid','=','typeattribute_taid')->where('goods_gid',$gid)->get();
		foreach($gattdata as $k=>$v){
//			$data[$k]['tavalue']=explode(',', $v['tavalue']);
			$gattdata[$k]['tavalue']=explode(',', $v['tavalue']);
		}
		
//		sp($gattdata);die;
		View::with('gattdata',$gattdata);
				
		//		修改
		if(IS_POST){
			
			if(!$this->model->edit($gid)) {
				View::error($this->model->getError());
			}
			
			View::success('修改成功',U('index'));
		}
		
		
		
		
//		加载页面
					View::make();
	}
	
	
	//	添加一张图片
	public function upload(){
		$this->model->upload();
	}
	//	添加缩略图
	public function picture(){
		$this->model->photo();
	}
	
}
